// 版权所有2011 Go作者。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package types

// 映射表示映射类型。
type Map struct {
	key, elem Type
}

// NewMap返回给定键和元素类型的新映射。
func NewMap(key, elem Type) *Map {
	return &Map{key: key, elem: elem}
}

// Key返回映射m的键类型。
func (m *Map) Key() Type { return m.key }

// Elem返回映射m的元素类型。
func (m *Map) Elem() Type { return m.elem }

func (t *Map) Underlying() Type { return t }
func (t *Map) String() string   { return TypeString(t, nil) }
